Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/weos 1518 #175

Merged
merged 20 commits into from
Jul 13, 2022
Merged

Feature/weos 1518 #175

merged 20 commits into from
Jul 13, 2022

Conversation

akeemphilbert
Copy link
Contributor

@akeemphilbert akeemphilbert commented Jun 20, 2022

  • Please check if the PR fulfills these requirements
  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

  • What is the current behavior? (You can also link to an open issue here)

  • What is the new behavior (if this is a feature change)?

  • Added the ability to configure authorization rules using the x-auth extension

  • Added the ability to configure and specify multiple security scheme

  • Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

  • Other information:

  • Integrated casbin for authorization

* Setup the echo logger as the default logger
… managing security configuration

* Created Security Configuration struct for managing the api security
* Add Security Configuration to the container
* Created a concept of Authenticator which defines how each security scheme type should be implemented
…onfiguration

* Changed Authenticators to Validators
* Switched to using weauth configuration
…pport for multiple security schemes

* Removed manually setting up OpenIDMiddleware
* Updated security initializer to setup the security config on the container and use the middleware on the security config
* Updated validator interface to return user id and role
* Added new helper function to get open id config
* Upgraded GORM (the casbin adapter forced that upgrade)
* Setup Casbin
* Created Authorization initializer that setups a default casbin enforcer using the default GORM connection
* Added PermissionEnforcer to the Container
* Added scope checking
* Added role to context
* Added permission checking using the casbin enforcer
* Made it so that a gorm model is only built if there is a ref on the "Items" definition
* Started setting up item array fix (in progress)
* Added code to parse inline arrays (i.e arrays without schema references)
* Added the ability parse inline objects (objects without schema references)
…correctly

* Updated getList in gorm projection so that the array that the results are unmarshalled into contains ContentEntities instantiated with the schema so that the date time conversion can happen
…correctly

* Switched back to using golang time.Time in gorm model
* Added parameter replacement in the authorization initializer so that there is a match in casbin (note the :id parameterization didn't work so resorted to using wildcards)
* Added check on role for authorization as well
* Removed debug statements from gorm projections
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

As a developer I should be able to specify what roles, users, organizations can access a resource
1 participant